遗传算法MATLAB工具包简介

 下面介绍的函数都是Sheriffed大学遗传算法工具包内的常用函数

  • 复制矩阵
B=rep(A,RepN)

A表示要被复制的矩阵,RepN包含每个方向的复制次数,RepN(1)代表纵向复制次数,RepN(2)代表横向复制次数
比如

A=[1,2;3,4];
B=rep(A,[1,2])
B=[1,2,1,2
   3,4,3,4] 

如果是

B=rep(A,[2,1])
B=[1,2
   3,4
   1,2
   3,4]

=-= 教材里介绍了这个,但之后没有用到哎……

  • 创造种群
Chrom=crtbp(n,b)

n代表染色体个数,b代表二进制数的位数(可以理解为基因数)

  • 二进制转十进制数
bs2rv(Chrom,Field)

Field是个矩阵,有如下参数

Field=[b;lowerbound;upperbound;code;scale;lbin;ubin]

各个参数的意义如下:
 b代表二进制数串的长度,后面那俩表示原来十进制数的上下界
 code代表编码方式,1表示二进制编码
 scale表示每个串的刻度,0代表算数刻度,1代表对数刻度
 lbin和ubin表示参数的取值是否包括边界,0表示不包括,1表示包括

 bs2rv(Chrom,Field)返回的是个列向量,其中每行就是原来Chrom里每行对应的十进制数

  • 计算适应度值
FitnV=ranking(ObjV)

 ObjV是定义好的目标函数
 老实讲,我没搞懂它这个ranking的返回值是什么意思。但就把它当做可以计算出各个染色体的适应值,并表明他们被传递到下一代的概率为多少的函数吧
 就是执行算出我笔记中那张表的函数?
这里需要强调一点。ranking默认的是求最小,如果你要求的问题是最大,那就写成ranking(-ObjV)
+ 根据适应度值通过选择来得到新种群

SelCh=select(SEL_F,Chrom,FitnV,GGAP)

 SEL_FeL_是个字符串,表明调用的选择函数,可以用rws(轮盘选择)或者sus(随机遍历采样)
 GGAP代表这一代传到下一代的概率,就是新种群中的个体数为现在的几分之几
 =-= 既然咱看的教程是拿rws讲的

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值